With the increasing popularity of viewing and/or listening to content, such as music, shows, and movies, over the Internet, there is a need for optimizing the client's viewing experience. Because the Internet is a variable bitrate channel without dedicated bandwidth between the server and client, it is important to have the ability to adjust the bitrate of the content being streamed to the client and to have the ability to adapt to different streaming situations, such as fluctuations in network capacity.
In some situations, streaming services provide audio and/or video content at different bitrates and provide for switching between bitrates over time as network conditions change. However, the process of switching between different bitrate streams can be problematic and can cause decoder issues (e.g., corruption, dropped frames, crashes, etc.).